﻿using System;

namespace mForum.Core.Infrastructure.Settings
{
    using mForum.Core.Common;

    public class Settings
    {
        public Settings(string siteTitle, string metaKeywords, string metaDescription, int minPasswordLength)
        {
            Check.Argument.IsNotEmpty(siteTitle, "siteTitle");
            Check.Argument.IsNotEmpty(metaKeywords, "metaKeywords");
            Check.Argument.IsNotEmpty(metaDescription, "metaDescription");
            Check.Argument.IsNotNull(minPasswordLength, "minPasswordLength");
            Check.Argument.IsNotNegativeOrZero(minPasswordLength, "minPasswordLength");

            SiteTitle = siteTitle;
            MetaKeywords = metaKeywords;
            MetaDescription = metaDescription;
            MinPasswordLength = minPasswordLength;
        }

        public string SiteTitle 
        { 
            get; 
            internal set; 
        }

        public string MetaKeywords
        {
            get;
            internal set;
        }

        public string MetaDescription
        {
            get;
            internal set;
        }

        public int MinPasswordLength
        {
            get;
            internal set;
        }
    }
}
